package binderon.com.dao;

import java.util.List;

import binderon.com.model.AppUser;
import binderon.com.model.BaseModel;

public interface BaseDao {
	/**
	 * 
	 * @param bean
	 *            the bean to insert
	 * @return the bean
	 */
	public abstract BaseModel save(BaseModel bean);

	/**
	 * 
	 * @param bean
	 *            the bean to update
	 * @return the bean
	 */
	public abstract BaseModel update(BaseModel bean);

	/**
	 * 
	 * @param bean
	 *            the bean to delete
	 */
	public abstract void delete(BaseModel bean);

	/**
	 * 
	 * @param id
	 * @return null or the record
	 */
	public abstract BaseModel getById(String id);
	public abstract List<BaseModel> getAll();
	public abstract Class getModelClass();
}